home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Over 1,000 Windows 95 Programs
/
Over 1000 Windows 95 Programs (Microforum) (Disc 1).iso
/
1262
/
samples
/
exmpl2.pr_
/
exmpl2.pr
Wrap
Text File
|
1995-03-14
|
10KB
|
287 lines
/* Generated by EasyCODE(SPX) V5.1 at 15.03.1995 18:47:10
with C:\EASY\SAMPLES\SPX-XBS\CLIPPER.CFG */
/* EXMPL2 */
#include "h:\apps\clipper5\include\inkey.ch"
/* **** Prepare datenbase **** */
USE TEST2 NEW
SET INDEX TO TEST23, TEST21, TEST22
GO TOP
USE TEST1 NEW
SET INDEX TO TEST11, TEST12
GO TOP
SELECT TEST2
/* **** Initialize local variables **** */
*
* Local variables
*
* Datbase temporary fields
*
PRIVATE L_FINYEAR, L_COUNTER, L_TESTNEW, ;
L_TESTAGE, L_TESTLOCATION, L_BUILD, TEST1OK, L_COMMENT
PRIVATE L_CD, L_ANSWER, SKEY1, SKEY
TEST1OK := .T.
setcur(1)
L_CD := " "
test1init()
/* **** Static text for screen **** */
menu1("Get test data")
@ 9, 4 SAY "Date (YY/MM/TT):"
@ 11, 4 SAY "Counter:"
@ 13, 4 SAY "Test location:"
@ 13,50 SAY "Building:"
@ 15, 4 SAY "Test stand:"
@ 17, 4 SAY "Comment: "
/* *** Processing **** */
/* **** Call screen **** */
Test1Data(L_COUNTER)
L_TESTLOCATION := TEST1->TESTLOCATION
L_BUILD := TEST1->BUILDING
dtest1()
CLEAR GETS
/* **** Processing loop **** */
DO WHILE .T.
@ 6,4 SAY "BC: " GET L_CD PICTURE "!" valid cdcheck(L_CD,1)
@ 9, 25 GET L_FINYEAR PICTURE "99/99/99" WHEN L_CD $"CND" valid datok(L_FINYEAR)
@ 11, 25 GET L_COUNTER PICTURE "@K !!!!!!!!" WHEN L_CD $"CND"
READ
IF L_CD = "E"
EXIT
ENDIF
DO CASE
CASE ( (L_CD = "N");
.OR. (L_CD = "C"));
.AND. (Test1Data(L_COUNTER))
/* Process "N" + "C" */
IF (L_CD = "N");
.AND. (TestData(L_FINYEAR, L_COUNTER))
msg(22,"Record already exists!")
LOOP
ENDIF
IF L_CD = "N"
L_TESTNEW := 0
L_COMMENT := SPACE(30)
L_TESTLOCATION := TEST1->TESTLOCATION
L_BUILD := TEST1->BUILDING
ELSE
IF TestData(L_FINYEAR, L_COUNTER)
L_FINYEAR := SUBSTR(TEST2->FINYEAR,1,2) +;
"/" + SUBSTR(TEST2->FINYEAR,3,2) +;
"/" + SUBSTR(TEST2->FINYEAR,5,2)
L_COUNTER := TEST2->COUNTER
L_TESTNEW := TEST2->TESTNEW
L_COMMENT := TEST2->COMMENT
L_TESTLOCATION := TEST1->TESTLOCATION
L_BUILD := TEST1->BUILDING
ELSE
msg(22,"Record"+ ;
" not found!")
LOOP
ENDIF
ENDIF
DO WHILE .T.
/* **** Further processing **** */
SET KEY 6 TO ENDKEY
DO WHILE (LASTKEY() <> K_PGDN);
.AND. (LASTKEY() <> K_ESC)
dtest1()
READ
ENDDO
SET KEY 6 TO
IF LASTKEY() <> K_ESC
sptest1()
ENDIF
IF (L_ANSWER = "J");
.OR. (LASTKEY() = K_ESC)
EXIT
ENDIF
ENDDO
CASE L_CD = "V"
/* Process "V" */
SKIP + 1
IF EOF()
msg(22,"EOF reached")
GO BOTTOM
ENDIF
L_COUNTER:= TEST2->COUNTER
IF (Test1Data(L_COUNTER));
.OR. (Test2Data(L_COUNTER))
test1init()
@ 9, 25 GET L_FINYEAR PICTURE "xxxxxxxx"
@ 11, 25 GET L_COUNTER PICTURE "xxxxxxxx"
dtest1()
CLEAR GETS
ENDIF
CASE L_CD = "Z"
/* Process "Z" */
SKIP - 1
IF EOF()
msg(22,"EOF reached")
GO BOTTOM
ENDIF
L_COUNTER:= TEST2->COUNTER
IF (Test1Data(L_COUNTER));
.OR. (Test2Data(L_COUNTER))
test1init()
@ 9, 25 GET L_FINYEAR PICTURE "xxxxxxxx"
@ 11, 25 GET L_COUNTER PICTURE "xxxxxxxx"
dtest1()
CLEAR GETS
ENDIF
CASE (L_CD = "D");
.AND. (Test1Data(L_COUNTER))
/* Process "D" */
L_ANSWER := " "
IF TestData(L_FINYEAR, L_COUNTER)
L_TESTNEW := TEST2->TESTNEW
IF (Test1Data(L_COUNTER));
.OR. (Test2Data(L_COUNTER))
L_TESTLOCATION := TEST1->TESTLOCATION
L_BUILD := TEST1->BUILDING
ELSE
L_TESTLOCATION := SPACE(20)
L_BUILD := SPACE(3)
ENDIF
@ 13, 25 GET L_TESTLOCATION PICTURE "xxxxxxxxxxxxxxxxxxxx"
@ 13, 63 GET L_BUILD PICTURE "xxx"
@ 15, 25 GET L_TESTNEW PICTURE "9999999"
@ 17, 25 GET L_COMMENT PICTURE "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
CLEAR GETS
L_ANSWER = "J"
IF L_ANSWER = "J"
DELETE
GO TOP
ENDIF
ELSE
msg(22,"Record not found")
ENDIF
L_COUNTER := TEST2->COUNTER
L_FINYEAR := SUBSTR(TEST2->FINYEAR,1,2) + "/" ;
+ SUBSTR(TEST2->FINYEAR,3,2) + ;
"/" + SUBSTR(TEST2->FINYEAR,5,2)
IF (Test1Data(L_COUNTER));
.OR. (Test2Data(L_COUNTER))
TEST1init()
@ 9, 25 GET L_FINYEAR PICTURE "xxxxxxxx"
@ 11, 25 GET L_COUNTER PICTURE "xxxxxxxx"
dTEST1()
CLEAR GETS
ENDIF
OTHERWISE
LOOP
ENDCASE
ENDDO
/* **** Exit program **** */
setcur(0)
bsset(1)
CLOSE DATA
CLEAR
RETURN
/* *** Procedure for displaying fields *** */
PROCEDURE dtest1
@ 13, 25 GET L_TESTLOCATION PICTURE "xxxxxxxxxxxxxxxxxxxx"
@ 13, 63 GET L_BUILD PICTURE "xxx"
CLEAR GETS
@ 15, 25 GET L_TESTNEW PICTURE "9999999"
@ 17, 25 GET L_COMMENT PICTURE "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
RETURN
/* **** Procedure for saving data **** */
PROCEDURE sptest1
L_ANSWER = " "
IF L_ANSWER = "J"
IF (L_CD = "N");
.OR. (L_CD = "G")
APPEND BLANK
ENDIF
REPLACE TEST2->FINYEAR WITH SUBSTR(L_FINYEAR,1,2) +;
SUBSTR(L_FINYEAR,4,2) + ;
SUBSTR(L_FINYEAR,7,2)
REPLACE TEST2->COUNTER WITH L_COUNTER
REPLACE TEST2->TESTNDNEU WITH L_TESTNEW
REPLACE TEST2->COMMENT WITH L_COMMENT
ENDIF
RETURN
/* **** Initialize fields on screen **** */
PROCEDURE test1init
IF (L_CD <> "N");
.AND. (.NOT. (EOF()))
L_FINYEAR := SUBSTR(TEST2->FINYEAR,1,2) +;
"/" + SUBSTR(TEST2->FINYEAR,3,2) + ;
"/" + SUBSTR(TEST2->FINYEAR,5,2)
L_COUNTER := TEST2->COUNTER
L_TESTNEW := TEST2->TESTNEW
L_TESTLOCATION := TEST1->TESTLOCATION
L_BUILD := TEST1->BUILDING
L_COMMENT := TEST2->COMMENT
ELSE
L_FINYEAR := " / / "
L_COUNTER := SPACE(8)
L_TESTNEW := 0
L_TESTLOCATION := SPACE(20)
L_BUILD := SPACE(3)
L_COMMENT := SPACE(30)
ENDIF
RETURN
/* TestData */
FUNCTION TestData
PARAMETERS G, Z
SELECT TEST2
SKEY := SUBSTR(g,1,2) + ;
SUBSTR(g,4,2) + SUBSTR(g,7,2) + z
SEEK DESCEND(SKEY)
IF FOUND()
RETURN(.T.)
ELSE
RETURN(.F.)
ENDIF
/* **** Test1Data **** */
FUNCTION Test1Data
PARAMETERS ZNR
PRIVATE OLDA, ADAT, SKEY1
OLDA := SELECT()
SKEY1 := SPACE(19)
ADAT := CTOD(" . . ")
SELECT TEST1
SET ORDER TO 1
SKEY1 := ZNR + DTOC(ADAT)
SEEK SKEY1
IF !EOF()
SELECT (OLDA)
RETURN(.T.)
ELSE
msg(22,"Counter ";
+skey1 +" not found")
SELECT (OLDA)
RETURN(.F.)
ENDIF
/* **** Test2Data **** */
FUNCTION Test2Data
PARAMETERS L_ZNR
PRIVATE OLDA, SKEY2,L_ZNR, L_ZAEHLMERK
OLDA := SELECT()
L_ZAEHLMERK := TEST1->COUNTER
SELECT TEST1
GO TOP
AUSB2 := CTOD(" . . ")
DO WHILE TEST1->COUNTER <> L_ZNR
SKIP + 1
ENDDO
IF TEST1->AUSBAUDAT = AUSB2
SELECT (OLDA)
RETURN(.F.)
ELSE
SELECT (OLDA)
RETURN(.T.)
ENDIF